package com.pty.demo.behaviour.template;

/**
 * @author pengty
 * @date 2020/3/13
 */
public abstract class AbstractFruitCake {

    public void makingCakeTemplateMethod() {
        doPrepareOfMakingCake();
        addSomeFruit();
        bakingNow();
    }

    private void bakingNow() {
        System.out.println("4. 开始烘焙啦");
        System.out.println("5. 蛋糕出炉啦");
    }

    /**
     * 抽象方法 加水果
     */
    protected abstract void addSomeFruit();

    private void doPrepareOfMakingCake() {
        System.out.println(">>>> 做水果蛋糕的一些准备工作 <<<<");
        System.out.println("1. 准备鸡蛋 蛋白分离 打蛋白");
        System.out.println("2. 加入面粉牛奶搅拌");
    }

}
